#ifndef CAMERA_H_
#define CAMERA_H_

#include "SGNode.h"

namespace Lame3d
{
	class Camera : public SGNode
	{
		public:
			Camera(const std::string &n);
			virtual ~Camera();
			
			const Frustum& Frustum();
			
			class Frustum
			{
				public:
					~Frustum();
					
				protected:
					Frustum();
					
					CalVector origin;
					
					// bounding planes, outward direction. 
					float left;
					float right;
					float top;
					float bottom;
					
					// distance
					float far;
					
				friend class Camera;
			};
			
		protected:
			Frustum frustum;
	}
}

#endif /*CAMERA_H_*/
